package com.yunwushanhe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yunwushanhe.bean.req.MenuSelectReq;
import com.yunwushanhe.bean.req.MenuUpdateReq;
import com.yunwushanhe.bean.ret.ResponseResult;
import com.yunwushanhe.bean.vo.*;
import com.yunwushanhe.entity.Menu;

import java.util.List;

/**
 * 菜单权限表(Menu)表服务接口
 *
 * @author 抬头看看天
 * @since 2023-08-17 15:56:13
 */
public interface MenuService extends IService<Menu> {

    List<String> selectPermListByUserId(Long id);

    ResponseResult<RouterListVO> selectRouterMenuTreeByUserId(Long userId);

    ResponseResult<List<MenuSelectAllVO>> listAllMenu(MenuSelectReq menuSelectReq);

    ResponseResult<Object> addMenu(Menu menu);

    ResponseResult<MenuUpdateVO> selectMenuById(Long id);

    ResponseResult<Object> updateMenuById(MenuUpdateReq menuUpdateReq);

    ResponseResult<Object> deleteMenuById(Long id);

    ResponseResult<List<MenuTreeVO>> getMenuTree();
}

